package
        com.zzc.sale.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hos.entity.stock.Medicines;
import com.zzc.sale.vo.MedicinesVo;

import java.util.List;


/**
 * @author：xIAO_ZHOU_TX
 * @date：Created in 2023/12/12 10:03
 * @description：
 * @modified By：
 * @version:
 */
public interface MedicinesService {
    /**
     * 条件查询药品信息并进行分页
     *
     * @param medicinesVo 药品vo类
     */
    Page<Medicines> findMedicinesByCond(MedicinesVo medicinesVo);

    /**
     * 查询所有药品
     *
     * @return
     */
    List<Medicines> findMedicinesAll();

    /**
     * 添加药品
     *
     * @param medicines
     * @return
     */
    Integer addMedicines(Medicines medicines);

    /**
     * 修改药品信息
     *
     * @param medicines
     * @return
     */

    Integer updateMedicines(Medicines medicines);

    /**
     * 根据id查询单个药品信息
     *
     * @param medicinesId
     * @return
     */
    Medicines getMedicinesById(Long medicinesId);

    /**
     * 根据id删除药品信息
     *
     * @param ids
     * @return
     */
    Integer deleteMedicinesByIds(List<Long> ids);

    /**
     * 调整药品库存
     *
     * @param medicinesId
     * @param medicinesStockNum
     * @return
     */
    Integer updateMedicinesStorage(Long medicinesId, Integer medicinesStockNum);

    /**
     * 根据id查询并增加库存
     *
     * @param medicines 药品列表
     */
    boolean reducePharmaceuticalById(Medicines medicines);

    /**
     * 根据id查询并减少库存
     *
     * @param medicines 药品列表
     */

    boolean addPharmaceuticalById(Medicines medicines);
}